home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / drawal1r / form1.frm next >
Text File  |  1999-08-15  |  8KB  |  318 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    AutoRedraw      =   -1  'True
  4.    BackColor       =   &H00FFFFFF&
  5.    Caption         =   "Form1"
  6.    ClientHeight    =   6945
  7.    ClientLeft      =   0
  8.    ClientTop       =   315
  9.    ClientWidth     =   9660
  10.    ClipControls    =   0   'False
  11.    ControlBox      =   0   'False
  12.    Height          =   7380
  13.    Left            =   -60
  14.    LinkTopic       =   "Form1"
  15.    MaxButton       =   0   'False
  16.    MinButton       =   0   'False
  17.    ScaleHeight     =   7500
  18.    ScaleMode       =   0  'User
  19.    ScaleWidth      =   9660
  20.    Top             =   -60
  21.    Width           =   9780
  22.    Begin VB.PictureBox picEdit 
  23.       AutoRedraw      =   -1  'True
  24.       BackColor       =   &H00FFFFFF&
  25.       Height          =   7593
  26.       Left            =   0
  27.       ScaleHeight     =   8200
  28.       ScaleMode       =   0  'User
  29.       ScaleWidth      =   9645
  30.       TabIndex        =   0
  31.       Top             =   -45
  32.       Width           =   9705
  33.       Begin VB.PictureBox picHid 
  34.          AutoRedraw      =   -1  'True
  35.          BackColor       =   &H00FFFFFF&
  36.          BorderStyle     =   0  'None
  37.          Height          =   7530
  38.          Left            =   150
  39.          ScaleHeight     =   8200
  40.          ScaleMode       =   0  'User
  41.          ScaleWidth      =   1125
  42.          TabIndex        =   1
  43.          Top             =   510
  44.          Visible         =   0   'False
  45.          Width           =   1125
  46.       End
  47.    End
  48.    Begin MSComDlg.CommonDialog CommonDialog1 
  49.       Left            =   4230
  50.       Top             =   3225
  51.       _ExtentX        =   847
  52.       _ExtentY        =   847
  53.       _Version        =   327681
  54.       DialogTitle     =   "Load Picture"
  55.       Filter          =   "Pictures *.bmp |*.bmp"
  56.       InitDir         =   "C:\"
  57.    End
  58.    Begin VB.Menu mnuMain 
  59.       Caption         =   "Main"
  60.       Visible         =   0   'False
  61.       Begin VB.Menu mnuLoad 
  62.          Caption         =   "Load"
  63.       End
  64.       Begin VB.Menu mnuClear 
  65.          Caption         =   "Clear"
  66.       End
  67.       Begin VB.Menu mnuTrim 
  68.          Caption         =   "Trim"
  69.       End
  70.       Begin VB.Menu mnuCopy 
  71.          Caption         =   "Copy"
  72.       End
  73.       Begin VB.Menu mnuPaste 
  74.          Caption         =   "Paste"
  75.       End
  76.       Begin VB.Menu mnuSize 
  77.          Caption         =   "Size"
  78.          Begin VB.Menu mnu1p1X 
  79.             Caption         =   "1.1X"
  80.          End
  81.          Begin VB.Menu mnu1p2X 
  82.             Caption         =   "1.2X"
  83.          End
  84.          Begin VB.Menu mnu1p3X 
  85.             Caption         =   "1.3X"
  86.          End
  87.          Begin VB.Menu mnu1p5X 
  88.             Caption         =   "1.5X"
  89.          End
  90.          Begin VB.Menu mnu2X 
  91.             Caption         =   "2X"
  92.          End
  93.          Begin VB.Menu mnu3X 
  94.             Caption         =   "3X"
  95.          End
  96.          Begin VB.Menu mnu4X 
  97.             Caption         =   "4X"
  98.          End
  99.       End
  100.       Begin VB.Menu mnuReload 
  101.          Caption         =   "Reload"
  102.       End
  103.       Begin VB.Menu mnuSave 
  104.          Caption         =   "Save"
  105.       End
  106.       Begin VB.Menu mnuExit 
  107.          Caption         =   "Exit"
  108.       End
  109.    End
  110. End
  111. Attribute VB_Name = "Form1"
  112. Attribute VB_Creatable = False
  113. Attribute VB_Exposed = False
  114. Option Explicit
  115. Private x1 As Single
  116. Private y1 As Single
  117. Private x2 As Single
  118. Private y2 As Single
  119. Private Drag As Boolean
  120. Private Sub Resize(Size As Single)
  121. Dim w As Single
  122. Dim h As Single
  123. w = picHid.ScaleWidth * Size
  124. h = picHid.ScaleHeight * Size
  125. picEdit.Cls
  126. On Error Resume Next
  127. picEdit.PaintPicture picHid.Picture, 0, 0, w, h, 0, 0, picHid.ScaleWidth, picHid.ScaleHeight
  128. picEdit.Picture = picEdit.Image
  129. End Sub
  130. Private Sub Swap()
  131. Dim var As Single
  132. If x1 > x2 Then
  133. var = x1
  134. x1 = x2
  135. x2 = var
  136. End If
  137. If y1 > y2 Then
  138. var = y1
  139. y1 = y2
  140. y2 = var
  141. End If
  142. End Sub
  143.  
  144.  
  145.  
  146.  
  147. Private Sub mnu1p1X_Click()
  148. Resize 1.1
  149. End Sub
  150.  
  151. Private Sub mnu1p2X_Click()
  152. Resize 1.2
  153. End Sub
  154.  
  155. Private Sub mnu1p3X_Click()
  156. Resize 1.3
  157. End Sub
  158.  
  159. Private Sub mnu1p5X_Click()
  160. Resize 1.5
  161. End Sub
  162.  
  163. Private Sub mnu2X_Click()
  164. Resize 2
  165. End Sub
  166.  
  167.  
  168. Private Sub mnu3X_Click()
  169. Resize 3
  170. End Sub
  171.  
  172.  
  173. Private Sub mnu4X_Click()
  174. Resize 4
  175. End Sub
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186. Private Sub mnuExit_Click()
  187. Unload Me
  188. End Sub
  189.  
  190. Private Sub mnuReload_Click()
  191. Dim lRtn As Long
  192. lRtn = LoadImage(App.hInstance, CommonDialog1.filename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE Or LR_LOADMAP3DCOLORS)
  193. Set picEdit.Picture = MoveBitmap(lRtn)
  194. End Sub
  195.  
  196. Private Sub mnuLoad_Click()
  197. CommonDialog1.Action = 1
  198. Dim lRtn As Long
  199. lRtn = LoadImage(App.hInstance, CommonDialog1.filename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE Or LR_LOADMAP3DCOLORS)
  200. Set picEdit.Picture = MoveBitmap(lRtn)
  201. End Sub
  202.  
  203.  
  204.  
  205. Private Sub mnuSave_Click()
  206. If Not Clipboard.GetFormat(vbCFBitmap) Then Exit Sub
  207. Dim dat As OPENFILENAME
  208. dat.lStructSize = Len(dat)
  209. dat.hwndOwner = Form1.hwnd
  210. dat.hInstance = App.hInstance
  211. dat.lpstrFilter = "Pictures (*.bmp)" + Chr$(0) + "*.bmp"
  212. dat.nMaxFileTitle = 255
  213. dat.lpstrInitialDir = "C:\"
  214. dat.lpstrTitle = "Save Picture"
  215. dat.lpstrFile = Space$(254)
  216. dat.nMaxFile = 255
  217. dat.lpstrFileTitle = Space$(254)
  218. dat.flags = 0
  219. dat.lpstrFile = "C:\ClipPic.bmp"
  220. Dim a As Long
  221. a = GetSaveFileName(dat)
  222. If (a) Then
  223. SavePicture Clipboard.GetData(vbCFBitmap), Trim$(dat.lpstrFile)
  224. End If
  225. End Sub
  226.  
  227. Private Sub mnuTrim_Click()
  228. Swap 'If necessary
  229. picHid.Width = x2 - x1 + 1
  230. picHid.Height = y2 - y1 + 1
  231. On Error Resume Next
  232. picHid.PaintPicture picEdit.Picture, 0, 0, x2 - x1 + 1, y2 - y1, x1, y1, x2 - x1 + 1, y2 - y1 + 1
  233. Clipboard.Clear
  234. Clipboard.SetData picHid.Image, vbCFBitmap
  235. picEdit.Picture = LoadPicture(vbNullString)
  236. If Not Clipboard.GetFormat(vbCFBitmap) Then Exit Sub
  237. picHid.Picture = Clipboard.GetData(vbCFBitmap)
  238. picEdit.PaintPicture picHid.Picture, x1, y1, picHid.ScaleWidth, picHid.ScaleHeight, 0, 0, picHid.ScaleWidth, picHid.ScaleHeight
  239. picEdit.Picture = picEdit.Image
  240. End Sub
  241.  
  242.  
  243.  
  244.  
  245.  
  246. Private Sub mnuPaste_Click()
  247. If Not Clipboard.GetFormat(vbCFBitmap) Then Exit Sub
  248. Swap
  249. picHid.AutoSize = True
  250. picHid.Picture = Clipboard.GetData(vbCFBitmap)
  251. picHid.AutoSize = False
  252. picEdit.PaintPicture picHid.Picture, x1, y1, picHid.ScaleWidth, picHid.ScaleHeight, 0, 0, picHid.ScaleWidth, picHid.ScaleHeight
  253. picEdit.Picture = picEdit.Image
  254. End Sub
  255.  
  256. Private Sub mnuClear_Click()
  257. picEdit.Picture = LoadPicture(vbNullString)
  258. End Sub
  259.  
  260. Private Sub mnuCopy_Click()
  261. Swap ' If necessary
  262. picHid.Width = x2 - x1 + 1
  263. picHid.Height = y2 - y1 + 1
  264. On Error Resume Next
  265. picHid.PaintPicture picEdit.Picture, 0, 0, x2 - x1 + 1, y2 - y1 + 1, x1, y1, x2 - x1 + 1, y2 - y1 + 1
  266. picHid.Picture = picHid.Image 'To be sure it redraws
  267. Clipboard.Clear
  268. Clipboard.SetData picHid.Image, vbCFBitmap
  269. End Sub
  270.  
  271.  
  272.  
  273. Private Sub mnuMain_Click()
  274. mnuPaste.Enabled = Clipboard.GetFormat(vbCFBitmap)
  275. End Sub
  276.  
  277. Private Sub picEdit_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  278. If Not Drag Then Exit Sub
  279. picEdit.Line (x1, y1)-(x2, y2), , B
  280. x2 = X
  281. y2 = Y
  282. picEdit.Line (x1, y1)-(x2, y2), , B
  283. End Sub
  284.  
  285. Private Sub picEdit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  286. If Button <> vbLeftButton Then Exit Sub
  287. Drag = True
  288. picEdit.DrawMode = vbInvert
  289. x1 = X
  290. y1 = Y
  291. x2 = X
  292. y2 = Y
  293. picEdit.Cls
  294. picEdit.Line (X, Y)-(X, Y), , B
  295. End Sub
  296.  
  297. Private Sub picEdit_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  298. If Button = vbRightButton Then
  299. PopupMenu mnuMain
  300. Exit Sub
  301. End If
  302. If Not Drag Then Exit Sub
  303. Drag = False
  304. picEdit.DrawMode = vbCopyPen
  305. End Sub
  306.  
  307.  
  308.  
  309. Private Sub Form_Load()
  310. Title Me, False
  311. End Sub
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.